home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / HardwareProjects / MClock.lha / MouseClock / MClk.doc.ita < prev    next >
Encoding:
Text File  |  1990-03-24  |  16.3 KB  |  411 lines

  1.  
  2.                              Progetto MouseClock
  3.                                   Rev. 1.21
  4.                                   22-Set-93
  5.                    Copyright (C) 1993  Adriano De Minicis
  6.  
  7.  
  8.  
  9. CHE COS'E'?
  10. ===========
  11.  
  12. MouseClock è un progetto hardware/software di un orologio calendario con
  13. batteria tampone, di costo e dimensioni contenuti, che si collega
  14. esternamente (sulla mouse port 2) a qualunque modello di Amiga.
  15.  
  16.  
  17.  
  18. REQUISITI
  19. =========
  20.  
  21. Funziona su qualunque modello di Amiga (è stato testato su A1200, A2000,
  22. A500) che abbia almeno la versione 1.2 del sistema operativo.
  23.  
  24. E' necessaria solo un po' di esperienza nella realizzazione dei circuiti
  25. elettronici.  Se non ne avete mai costruito uno è meglio che chiediate aiuto
  26. a qualche amico piu' esperto.
  27.  
  28.  
  29.  
  30. INDICE
  31. ======
  32.  
  33.  1. Descrizione
  34.  2. Avviso shareware
  35.  3. Distribuzione
  36.  4. Avvertenze (Leggere attentamente)
  37.  5. Uso di MouseClock (la parte hardware)
  38.  6. Uso di SetMClock (il programma)
  39.  7. Messaggi di errore e possibili cause
  40.  8. Note sull'hardware
  41.  9. Costruzione
  42. 10. Taratura
  43. 11. Ringraziamenti
  44.  
  45.  
  46.  
  47. 1. DESCRIZIONE
  48. ==============
  49.  
  50. MouseClock, come detto è un orologio esterno di ingombro molto ridotto.
  51. I vantaggi di avere un orologio esterno sono molti:
  52.  
  53. - L'installazione non annulla la garanzia.
  54. - E' compatibile con tutti gli Amiga: se quindi decidete di cambiare il
  55.   vostro Amiga potete trasferitre MouseClock senza problemi.
  56. - Puo' essere usato come orologio di emergenza su un Amiga dotato di
  57.   orologio interno guasto.
  58.  
  59. Qualcuno potrebbe obiettare che esterno è ingombrante e/o che occupa la
  60. porta joystick:
  61.  
  62. - E' molto compatto (il mio prototipo misura 44 x 35 x 16 millimetri).
  63. - Con pochi componenti in piu' si puo' realizzare una versione "passante"
  64.   per joystick: con un deviatore si seleziona MouseClock o il joystick.
  65.  
  66. Ma quanto mi costi?
  67.  
  68. - Molto meno di un orologio interno: con 20-25mila lire circa si acquistano
  69.   tutti i componenti per realizzarlo.
  70.  
  71. In questo archivio trovate la documentazione (questo file) e il software
  72. (SetMClock) che permette di utilizzare MouseClock (è compreso il sorgente in
  73. assembler).  Riceverete lo schema elettrico e gli schemi di montaggio su
  74. basetta millefori se mi invierete il contributo shareware (v.Distribuzione).
  75.  
  76.  
  77.  
  78. 2. AVVISO SHAREWARE
  79. ===================
  80.  
  81. MouseClock è SHAREWARE.  Se volete ricevere lo schema elettrico e gli schemi
  82. di montaggio inviate 10000 (diecimila) lire oppure 7 US$ con un vaglia
  83. postale o in contanti (niente assegni!) all'indirizzo sottostante.  Il
  84. vaglia è piu' sicuro.  Specificate per favore come causale "MouseClock"
  85. (poichè sto sviluppando altri progetti probabilmente shareware).
  86.  
  87. Il mio indirizzo è:
  88.  
  89.        Adriano De Minicis
  90.        Via Latisana 37
  91.        33054 Lignano Sabbiadoro  UD
  92.        Italia
  93.  
  94. La ragione per cui questo progetto è shareware è che ho impiegato molto piu'
  95. tempo per scrivere la documentazione, disegnare gli schemi e riscrivere in
  96. assembler il software (originariamente in GFA Basic compilato, 17K!) che non
  97. per progettare e realizzare il tutto per il mio nuovo A1200.  Non mi sembra
  98. quindi sbagliato chiedere un contributo (non credo che 10000 lire sia una
  99. cifra esorbitante) per ripagarmi del tempo perso (purtroppo il tempo libero
  100. è sempre cosi' scarso!). Dal riscontro che avra' questo progetto decidero' se
  101. vale la pena di pubblicare i progetti su cui sto lavorando:
  102.  
  103. - un commutatore a 4 vie per la porta parallela, completamente elettronico
  104.   (niente commutatori meccanici) con tutti i pin bidirezionali, controllato
  105.   da Amiga anche via ARexx
  106. - un analizzatore logico in versione ridotta
  107.  
  108.  
  109.  
  110. 3. DISTRIBUZIONE
  111. ================
  112.  
  113. I files presenti in questo archivio possono essere copiati e distribuiti
  114. liberamente (anche su network) purchè vengano distribuiti per intero senza
  115. modifiche e non a scopo di lucro (è consentito un piccolo addebito per le
  116. spese di copia e del disco).
  117.  
  118. Lo schema elettrico che riceverete iniviando il contributo shareware è
  119. invece sotto copyright, e NON puo' essere ridistribuito in nessun modo.
  120.  
  121. MouseClock puo' essere costruito solo per uso personale, ne è vietata la
  122. commercializzazione (contattatemi per eventuali accordi).
  123.  
  124.  
  125.  
  126. 4. AVVERTENZE (Leggere attentamente)
  127. ====================================
  128.  
  129. Il programma SetMClock pone come uscite alcune linee della mouse port 2
  130. (GamePort).  Pertanto prima di lanciare SetMClock scollegare qualunque
  131. dispositivo da quel conettore per evitare possibili danni al dispositivo e/o
  132. all'Amiga.  Nota:  quando SetMClock termina, la porta torna allo stato
  133. originario.
  134.  
  135. E' possibile collegare un joystick su un connettore ausiliario se si
  136. costruisce la versione passante di MouseClock (occorrono solo pochi
  137. componenti aggiuntivi).
  138.  
  139. ATTENZIONE:
  140. -----------
  141. MAI inserire o togliere MouseClock quando Amiga è acceso, specialmente se
  142. non avete tolto lo schermo metallico del connettore DB9 femmina di
  143. MouseClock.  Infatti cio' puo' provocare un cortocicuito su Amiga (con le
  144. immaginabili conseguenze) dato che i due pin 7,8 (+5V, GND) della MousePort2
  145. sono uno vicino all'altro ed è molto facile provocare un cortocircuito con
  146. lo schermo dell'altro connettore.  Pertanto CONSIGLIO VIVAMENTE di tagliare
  147. via lo schermo metallico dal connettore femmina di MouseClock (non di
  148. Amiga!).  In tal caso non c'è piu' pericolo di cortocircuiti, anche se
  149. sconsiglio comunque di inserire/togliere MouseClock ad Amiga acceso (sebbene
  150. io l'abbia fatto molte volte, non è detto che prima o poi non si danneggi
  151. qualcosa).
  152.  
  153. NON MI ASSUMO NESSUNA RESPONSABILITA' PER EVENTUALI DANNI DI QUALUNQUE
  154. GENERE CAUSATI DALL'UTILIZZO E/O DALLA COSTRUZIONE DI QUESTO PROGETTO.
  155.  
  156. Siete ancora qui? bene!, proseguiamo con:
  157.  
  158.  
  159.  
  160. 5. USO DI MouseClock (LA PARTE HARDWARE)
  161. ========================================
  162.  
  163. Usare MouseClock è semplice: basta collegarlo alla porta mouse 2 (gameport)
  164. quando Amiga è spento (leggete le avvertenze sopra riportate!).
  165.  
  166. Versione base di MouseClock
  167. ---------------------------
  168. Usate SetMClock per accedere all'orologio (vedi sotto).
  169.  
  170. Estensione joystick di MouseClock
  171. ---------------------------------
  172. Questa versione permette di collegare un joystick al connettore DB9
  173. ausiliario (solo joystick normali, non analogici o paddle).
  174. Posizionate il deviatore su 'Clock' prima di lanciare SetMClock (altrimenti
  175. SetMClock non vede l'orologio!). L'utilizzo di un joystick quando il
  176. deviatore è su 'Clock' (o viceversa) non causa danni.
  177.  
  178.  
  179.  
  180. 6. USO DI SetMClock (IL PROGRAMMA)
  181. ==================================
  182.  
  183. SetMClock è il programma che consente di settare l'ora di sistema da quella
  184. di MouseClock o viceversa.  E' l'equivalente di SetClock.  Essendo scritto
  185. interamente in assembler è sufficientemente compatto (circa 3K).
  186.  
  187. SetMClock per poter funzionare correttamente ha bisogno del file
  188. "MClock.upd" (4 bytes) nella directory "S:".  Tale file viene creato per la
  189. prima volta con l'opzione 'save'.  E' necessario poichè il chip utilizzato
  190. da MouseClock non memorizza l'anno, che quindi va salvato su disco.  L'anno
  191. viene aggiornato automaticamente confrontando la data attuale con quella
  192. presente nel file (giorno, mese, anno dell'ultimo aggiornamento di
  193. MouseClock).  Se il giorno attuale (letto da MouseClock) è precedente a
  194. quello nel file allora l'anno è il successivo e viene riscritto.  L'unico
  195. caso in cui SetMClock non si accorge del cambiamento è se il computer rimane
  196. spento dall'inizio dell'anno fino almeno alla data nel file.  Ad es. se
  197. "MClock.upd" contiene '15 Gen 1993' e MouseClock segna '10 Gen' siamo
  198. sicuramente nel 1994 (il tempo non torna indietro!); se invece MouseClock
  199. segna '15 Gen' o un giorno successivo siamo ancora nel 1993 (tranne il caso
  200. particolare detto sopra).  Per evitare questo piccolo problema conviene
  201. aggiornare comunque MouseClock ad es. alla fine di gennaio, in modo che
  202. l'anno successivo SetMClock ha un mese per accorgersi che l'anno e'
  203. cambiato.
  204.  
  205. Per chi non ha l'hard-disk conviene copiare il file "S:MClock.upd" in tutti
  206. i dischi di boot in cui si vuole usare SetMClock.
  207.  
  208. ATTENZIONE: Non lanciate SetMClock se avete collegato una periferica diversa
  209.             da MouseClock nella mouse port 2. Leggete il capitolo
  210.             "Avvertenze".
  211.  
  212. NOTA: Evitate di lanciare piu' copie in parallelo di SetMClock, poiche'
  213.       interferirebbero tra di loro, dando risultati sbagliati (nessun
  214.       danno).
  215.  
  216.  
  217. Utilizzo da CLI/Shell
  218. ---------------------
  219. SetMClock load      Setta la data e l'ora di sistema leggendola da
  220.                     MouseClock. E' necessario il file "S:MClock.upd".
  221.                     Se volete il sistema aggiornato ogni volta che Amiga
  222.                     viene acceso, includete questo comando nella
  223.                     startup-sequence (o nella user-startup).
  224.  
  225. SetMClock save      Salva la data e l'ora di sistema in MouseClock e nel
  226.                     file "S:MClock.upd" (creandolo, se non esiste). Usare
  227.                     il comando AmigaDOS 'date' o le preferences 'Time' (2.0)
  228.                     per settare il tempo di sistema. Esempio:
  229.  
  230.                       date 1-jun-93 12:34
  231.                       setmclock save
  232.  
  233.                     Nota: i secondi vengono considerati zero. Quindi per
  234.                     ridurre l'errore conviene aspettare che i secondi siano
  235.                     prossimi a zero prima di salvare (o usare l'opzione
  236.                     'zero').
  237.  
  238. SetMClock zero      Azzera i secondi (di MouseClock) avanzando di un minuto
  239.                     se sec>30. Aggiorna il file "S:MClock.upd" e poi esegue
  240.                     un 'load'.
  241.  
  242. SetMClock           Visualizza due linee di help.
  243.  
  244.  
  245. Utilizzo da Workbench
  246. ---------------------
  247. Usare un'icona di tipo 'project' il cui default tool è SetMClock (con path
  248. opportuno) e i tooltypes sono:
  249.  
  250. MODE=load  \
  251. MODE=save   } Usare UNO SOLO di questi (equivalgono a quelli da CLI)
  252. MODE=zero  /
  253.  
  254. Se non ci sono tooltypes si assume come default 'load'.
  255.  
  256. Si possono usare le tre icone che ho fornito come esempio. Attenzione: se
  257. spostate SetMClock in un'altra directory (ad es. C:) occorre modificare
  258. corrispondentemente il default tool di quelle icone.
  259.  
  260. E' comodo usare il WB se si è fatto il boot da un disco nella cui startup
  261. non viene chiamato SetMClock.
  262.  
  263.  
  264.  
  265. 7. MESSAGGI DI ERRORE E POSSIBILI CAUSE
  266. =======================================
  267.  
  268. Can't find battery backed up clock
  269. ----------------------------------
  270. MouseClock non collegato alla seconda porta Mouse, oppure non funzionante.
  271. Nel caso abbiate costruito la versione passante è probabile che il deviatore
  272. sia in posizione "joystick".
  273.  
  274. Battery backed up clock not set
  275. -------------------------------
  276. MouseClock è presente, ma data e ora sono azzerate.  Questo accade ogni
  277. volta che viene a mancare l'alimentazione a batteria, e quindi anche appena
  278. costruito.  Per ovviare a questo errore basta settare data e ora con
  279. SetMClock save.  Se l'errore si ripresenta ogni volta che Amiga viene
  280. spento, allora la batteria potrebbe essere scarica oppure non collegata.
  281. Controllare (la tensione della batteria dovrebbe essere maggiore di 2.2V).
  282.  
  283. Can't open S:MClock.upd
  284. -----------------------
  285. Il file "S:MClock.upd" non esiste o non puo' venire aperto.
  286.  
  287. Can't save S:MClock.upd
  288. -----------------------
  289. Il file "S:MClock.upd" non puo' essere salvato (ad es. disco di sistema
  290. protetto in scrittura).
  291.  
  292. Bad data in S:MClock.upd
  293. ------------------------
  294. I dati nel file "S:MClock.upd" sono stati alterati. Ripristinarli con
  295. SetMClock save.
  296.  
  297.  
  298.  
  299. 8. NOTE SULL'HARDWARE
  300. =====================
  301.  
  302. Per ridurre il numero di linee di I/O usate (in modo da poterlo collegare
  303. alla mouse port), ho usato un chip orologio con bus I²C (IC1).  L'altro
  304. integrato (IC2) fa da interfaccia tra Amiga e il bus I²C.  I diodi D1 e D2,
  305. collegati alle linee di feedback dei segnali I²C, servono ad evitare che una
  306. eccessiva corrente scorra dalla batteria tampone ad Amiga quando questo è
  307. spento.  Se i diodi fossero cortocircuitati ci sarebbe una corrente di
  308. perdita dalla batteria notevolmente superiore alla corrente assorbita da
  309. IC1, causando una scarica troppo rapida.
  310.  
  311.  
  312.  
  313. 9. COSTRUZIONE
  314. ==============
  315.  
  316. Insieme allo schema elettrico troverete lo schema di montaggio su basetta
  317. preforata (passo 2.54 mm).  Tale schema si riferisce alla versione base di
  318. MouseClock.  Per l'estensione joystick le modifiche sono poche, e possono
  319. essere volanti.
  320.  
  321. Sullo schema dei collegamenti i pallini piu' grossi indicano le saldature da
  322. fare.  Per i collegamenti consiglio di usare del filo per wire-wrap di
  323. piccolo diametro ,ad esempio un AWG 28 (0.32mm).  Chi non volesse usare la
  324. basetta preforata, ma preferisse costruirsi il circuito stampato puo'
  325. trasformare direttamente lo schema dei collegamenti in quello delle piste
  326. (dato che non ci sono incroci tra i collegamenti).
  327.  
  328. La batteria che ho usato ha un diametro di 15 mm, e un'altezza di 7 mm,
  329. mentre il compensatore ha un diametro di 7 mm (dimensioni approssimate).
  330. Se utilizzate componenti di dimensioni diverse puo' essere necessario
  331. modificare leggermente i collegamenti.
  332.  
  333. Consiglio di utilizzare zoccoli per i due circuiti integrati, e di tagliare
  334. via con un seghetto lo schermo metallico del connettore DB9 femmina.
  335.  
  336. Conviene montare per primi gli zoccoli, poi i due terminali per il jumper
  337. (senza collegare ancora il jumper), resistenze, condesatori, quarzo e
  338. transistor, proseguendo con il conettore DB9, i diodi (e gli eventuali
  339. componenti per l'estensione joystick), lasciando per ultima la batteria.
  340. Prima di montare la batteria assicurarsi che i collegamenti siano esatti e
  341. non ci siano cortocircuiti, specialmente tra l'alimentazione a 5V e massa
  342. (pin 7 e 8 del connettore DB9).  Un cortocircuito tra queste linee puo'
  343. danneggiare il vostro Amiga, quindi ATTENZIONE!.  Non lasciatevi prendere
  344. dalla fretta di provare subito il circuito!.
  345.  
  346. Quando siete sicuri che tutto è a posto, montate la batteria (con jumper
  347. scollegato).  E' meglio usare del cavetto isolato per collegare il terminale
  348. negativo della batteria.  Fate attenzione una volta collegata la batteria a
  349. non provocare cortocircuiti appoggiando la basetta su oggetti metallici
  350. (potreste danneggiare la batteria:  le NiCd non gradiscono cortocircuiti!).
  351. Controllate nuovamente che tutto sia a posto e non ci siano cortocircuiti.
  352. Inserite quindi i due circuiti integrati nei rispettivi zoccoli, badando di
  353. non scambiarli o inserirli a rovescio.
  354.  
  355. Un ultimo controllo e poi finalmente collegate il jumper che da' tensione al
  356. circuito.  Nel caso abbiate costruito la versione joystick ponete il
  357. deviatore su 'clk'.  Spegnete l'Amiga, collegate il circuito alla mouse port
  358. 2, accendete Amiga, e da WB cliccate sull'icona ClkLoad:  se appare il
  359. requester "Can't find battery backed up clock" allora avete commesso qualche
  360. errore.  Spegnete Amiga, scollegate MouseClock e ricontrollate tutto
  361. (potrebbe essere il deviatore non posizionato su 'clk').  Quando tutto
  362. funziona dovrebbe apparire il requester "Battery backed up clock not set"
  363. (l'orologio è azzerato) oppure "Can't open S:MClock.upd".  Provate a salvare
  364. data e ora cliccando su ClkSave:  non dovrebbero esserci messaggi.
  365. Riprovate con ClkLoad:  se non dà messaggi tutto è ok, complimenti!  Per
  366. l'uso di SetMClock o per i messaggi di errore vedere le rispettive
  367. spiegazioni.
  368.  
  369. Se il circuito non funziona e non riuscite a trovare l'errore, provate a
  370. controllare se c'è un'onda quadra ad 1Hz tra il pin 5 di IC1 e massa.
  371. Se non c'è allora l'oscillatore a quarzo non funziona: provate a ruotare
  372. il compensatore.
  373.  
  374. NOTA: La batteria NiCd sarà probabilmente scarica quando costruirete
  375.       MouseClock. Per ricaricarla lasciate il computer acceso per alcune
  376.       ore (di solito occorrono 14 ore per la carica, ma non è necessario
  377.       lasciare Amiga acceso per tutto quel tempo, se usate spesso Amiga).
  378.       Se avete un caricabatterie NiCd potete usarlo per ricaricare la
  379.       batteria prima di montarla sul circuito.
  380.  
  381. Buon lavoro!  :-)
  382.  
  383.  
  384.  
  385. 10. TARATURA
  386. ============
  387.  
  388. La taratura del circuito puo' essere anche omessa, dato che l'orologio e'
  389. abbastanza preciso.
  390.  
  391. Se avete un frequenzimetro con una buona risoluzione alle basse frequenze
  392. (deve visualizzare le frazioni di Hertz), ruotate il compensatore fino a
  393. leggere esattamente 128 Hz sul pin 8 di IC1.
  394.  
  395. Se non avete un frequenzimetro la procedura è piu' lunga:  se notate che
  396. dopo una settimana l'orologio anticipa o ritarda troppo, provate a ruotare
  397. leggermente il compensatore in uno dei due sensi.  Controllate dopo una
  398. settimana:  se l'errore tende a calare, il verso è giusto, altrimenti il
  399. compensatore va ruotato in senso opposto.  Occorrono poi vari aggiustamenti
  400. per ridurre l'errore.
  401.  
  402.  
  403.  
  404. 11. RINGRAZIAMENTI
  405. ==================
  406.  
  407. Desidero ringraziare Roberto Borri per i suggerimenti e il debugging,
  408. Fred Fish per la sua grandiosa PD-collection, e la Commodore Amiga per il
  409. nuovo chipset AGA (era ora!).
  410.  
  411.